package com.lframework.xingyun.basedata.bo.member;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lframework.starter.common.constants.StringPool;
import com.lframework.starter.web.core.bo.BaseBo;
import com.lframework.xingyun.basedata.entity.MemberLevel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class MemberLevelSelectorBo extends BaseBo<MemberLevel> {

    /**
     * ID
     */
    @ApiModelProperty("ID")
    private String id;

    /**
     * 等级
     */
    @ApiModelProperty("等级")
    private Integer level;

    /**
     * 等级名称
     */
    @ApiModelProperty("等级名称")
    private String levelName;

    /**
     * 升级方式
     */
    @ApiModelProperty("升级方式")
    private Integer upgradeType;

    /**
     * 升级条件
     */
    @ApiModelProperty("升级条件")
    private BigDecimal upgradeCondition;

    /**
     * 升级描述
     */
    @ApiModelProperty("升级描述")
    private String upgradeDesc;

    /**
     * 有效天数
     */
    @ApiModelProperty("有效天数")
    private Integer effectiveDay;

    /**
     * 状态
     */
    @ApiModelProperty("状态")
    private Boolean available;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private String createBy;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = StringPool.DATE_TIME_PATTERN)
    private LocalDateTime createTime;

    /**
     * 修改人
     */
    @ApiModelProperty("修改人")
    private String updateBy;

    /**
     * 修改时间
     */
    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = StringPool.DATE_TIME_PATTERN)
    private LocalDateTime updateTime;

    public MemberLevelSelectorBo() {

    }

    public MemberLevelSelectorBo(MemberLevel dto) {

        super(dto);
    }

}
